﻿using System;
using TheGameClient.Processes;


namespace TheGameClient
{
	public class ProgramFileEncrypter : ProgramBase
	{
		public override ulong InterfaceId { get { return new Guid("{9B141E05-3137-460e-999C-C4340E29533B}").ToLong(); } }
		public override string ProcessName { get { return "File Encrypter"; } }

		protected override bool OnlyLocal { get { return true; } }
		protected override string SuccessStatus { get { return "Encryption successful."; } } 
		protected override string FailureStatus { get { return "Encryption failed."; } }
		protected override string DropErrorStatus { get { return "Only local files can be encrypted."; } }

		public override void Initialize()
		{
			Control.StatusText = "Drag onto file to be encrypted.";
			base.Initialize();
		}
	}

	public class ProgramFileEncrypterFactory : UiFactoryBase
	{
		public override InterfaceCategory UiCategory
		{
			get { return InterfaceCategory.Program; }
		}

		public override IProcess CreateProgram()
		{
			return new ProgramFileEncrypter();
		}
	}
}